# coding=utf-8
# 数据存储是数据分析和展示的基础。在实践中，我们会用到数据结构并操作数据结构中的各种数据。
# 列表（List链表、数组）、元组（Tuple）、字典（Dictionary）、映射（reflect）
# Python是弱类型语言，不同于Java，数组和链表没差距。数组是一个统称，具体名字有：链表/列表、元组、字典

# list, 只存放相同类型数据;找不到会跑出错误
from functools import cmp_to_key


nameList = ['Jane', 'Kate', 'Alice', 'Adam'] 
print(nameList)
print(nameList[0])
del nameList[0]
print(nameList[0])
nameList.remove('Adam')
print(nameList)
nameList.append('Jenney')
print(nameList)
print(nameList.index('Kate'))

# list排序等操作
ageList = [4,6,3,2,4,5,33]
ageList.sort()
print(ageList)
print(len(ageList))
print(max(ageList))
print(min(ageList))
print(sum(ageList))
print(ageList.count(4))
print(ageList[1:4])

# 自定义排序
ageList = [4,6,3,2,4,5,33]
def desc(x, y):
  if x>y:
    return -1
  elif x<y:
    return 1
  else:
    return 0
# print
print(ageList)
print(desc)
# python3直接sort会报错，引入cmp_to_key来处理
# ageList.sort(desc) sort() takes no positional arguments
ageList.sort(key=cmp_to_key(desc))
print(ageList)